﻿namespace HostTracker.Azure.Management

open System
open System.ServiceModel
open System.ServiceModel.Web
open System.Runtime.Serialization
open System.Net

[<Interface>]
[<ServiceContractAttribute>]
type IAsyncOperationManagement =
    [<OperationContract>]
    [<WebInvoke(UriTemplate="/operations/{requestId}", Method="GET")>]
    abstract Check: requestId:string -> OperationResult    
    [<OperationContract(AsyncPattern = true)>]
    abstract BeginCheck: requestId:string*callback:AsyncCallback*state:obj -> IAsyncResult
    abstract EndCheck: result: IAsyncResult -> OperationResult        